[INFO] cloning repository https://github.com/MXBraisedFish/TUI-GAME
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MXBraisedFish/TUI-GAME" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMXBraisedFish%2FTUI-GAME", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMXBraisedFish%2FTUI-GAME'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ac2f3a921a7eae62fa99443a4dac241c71be716b
[INFO] checking MXBraisedFish/TUI-GAME against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMXBraisedFish%2FTUI-GAME" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MXBraisedFish/TUI-GAME
[INFO] finished tweaking git repo https://github.com/MXBraisedFish/TUI-GAME
[INFO] tweaked toml for git repo https://github.com/MXBraisedFish/TUI-GAME written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MXBraisedFish/TUI-GAME on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MXBraisedFish/TUI-GAME already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: version requirement `1.1.2+spec-1.1.0` for dependency `toml` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
[INFO] [stderr] warning: `tui-game` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tree-sitter-lua v0.5.0
[INFO] [stderr]   Downloaded tree-sitter-toml-ng v0.7.0
[INFO] [stderr]   Downloaded rand_chacha v0.10.0
[INFO] [stderr]   Downloaded tree-sitter-yaml v0.7.2
[INFO] [stderr]   Downloaded tree-sitter-javascript v0.25.0
[INFO] [stderr]   Downloaded tree-sitter v0.26.10
[INFO] [stderr]   Downloaded tree-sitter-bash v0.25.1
[INFO] [stderr]   Downloaded quick-xml v0.41.0
[INFO] [stderr]   Downloaded kqueue v1.2.0
[INFO] [stderr]   Downloaded mlua v0.12.0
[INFO] [stderr]   Downloaded mlua-sys v0.11.0
[INFO] [stderr]   Downloaded lua-src v550.1.1
[INFO] [stderr]   Downloaded luajit-src v210.7.2+b925b3e
[INFO] [stderr]   Downloaded quantette v0.5.1
[INFO] [stderr]   Downloaded safe_arch v0.9.3
[INFO] [stderr]   Downloaded wide v0.8.3
[INFO] [stderr]   Downloaded icy_sixel v0.5.0
[INFO] [stderr]   Downloaded im-switch v0.1.0
[INFO] [stderr]   Downloaded fcitx5-dbus v0.1.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f
[INFO] running `Command { std: "docker" "start" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: version requirement `1.1.2+spec-1.1.0` for dependency `toml` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
[INFO] [stderr] warning: `tui-game` (manifest) generated 1 warning
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling zvariant_utils v3.4.0
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling inotify-sys v0.1.7
[INFO] [stderr]    Compiling by_address v1.2.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling palette v0.7.6
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling lua-src v550.1.1
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking safe_arch v0.9.3
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]     Checking uuid v1.23.4
[INFO] [stderr]    Compiling which v8.0.2
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking fast-srgb8 v1.0.0
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling luajit-src v210.7.2+b925b3e
[INFO] [stderr]     Checking wide v0.8.3
[INFO] [stderr]     Checking ref-cast v1.0.25
[INFO] [stderr]    Compiling tree-sitter-yaml v0.7.2
[INFO] [stderr]    Compiling tree-sitter-toml-ng v0.7.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]    Compiling tree-sitter-json v0.24.8
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling tree-sitter-bash v0.25.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling zvariant_derive v5.12.0
[INFO] [stderr]    Compiling tree-sitter-lua v0.5.0
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling mlua-sys v0.11.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]    Compiling tree-sitter v0.26.10
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking regex-automata v0.4.15
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking zerocopy v0.8.52
[INFO] [stderr]     Checking core_maths v0.1.1
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling zvariant v5.12.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]     Checking async-io v2.6.0
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking async-signal v0.2.14
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking inotify v0.11.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling tui-game v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking memmap2 v0.9.11
[INFO] [stderr]     Checking regex v1.13.0
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking pulldown-cmark-escape v0.11.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking zbus_names v4.3.2
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking rdev v0.5.3
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking fontdb v0.23.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking tar v0.4.46
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking mlua v0.12.0
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking quick-xml v0.41.0
[INFO] [stderr]     Checking quantette v0.5.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.10.0
[INFO] [stderr]     Checking fontdue v0.9.3
[INFO] [stderr]    Compiling zbus_macros v5.16.0
[INFO] [stderr]     Checking icy_sixel v0.5.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking zbus v5.16.0
[INFO] [stderr]     Checking fcitx5-dbus v0.1.4
[INFO] [stderr]     Checking im-switch v0.1.0
[INFO] [stdout] warning: unused imports: `BorderCharacter` and `CustomBorder`
[INFO] [stdout]  --> src/host_engine/services/render/mod.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use border::{BorderCharacter, BorderStyle, CustomBorder};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^               ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileEvent`, `FileTask`, `ImageEvent`, `ImageTask`, `ManagedThreadId`, `NetworkEvent`, `NetworkTask`, `SleepTask`, `TaskState`, and `TimeAsyncEvent`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |   AsyncRuntime, EngineEvent, EngineTask, FileEvent, FileTask, ImageEvent, ImageTask,
[INFO] [stdout]    |                                          ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 37 |   ManagedThreadId, NetworkEvent, NetworkTask, SleepTask, TaskId, TaskState, TimeAsyncEvent,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^          ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeHighlightToken`, `CodeLanguage`, and `CodeTokenKind`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 |   CodeHighlightService, CodeHighlightTheme, CodeHighlightToken, CodeLanguage, CodeTokenKind,
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HostAreaId` and `HostArea`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub use host_object::{HostArea, HostAreaId, HostAreaKind, HostObjectPool};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputActionEvent` and `InputEventType`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |   ActionMapEntry, InputActionEvent, InputEventType, InputService, Key, KeyEventKind, KeyState,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RichText`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 |   RichText, RichTextParams, RichTextSegment, RichTextService, TerminalColor, TextColor, TextStyle,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScreenshotProfile`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:72:3
[INFO] [stdout]    |
[INFO] [stdout] 72 |   ScreenshotProfile, StorageService,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HOST_API_VERSION` and `PACKAGE_MANIFEST_VERSION`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub use version::{HOST_API_VERSION, HOST_VERSION, PACKAGE_MANIFEST_VERSION};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DelayTimerEvent`, `DelayTimerId`, `DelayTimerOptions`, `HyperlinkEvent`, `HyperlinkId`, `HyperlinkOptions`, `MarkdownEvent`, `MarkdownTheme`, `RandomAlgorithm`, `RandomGeneratorId`, `RandomSeed`, `RandomSnapshot`, `RepeatMode`, `RepeatTimerEvent`, `RepeatTimerId`, `RepeatTimerOptions`, `ScrollbarSide`, `TableAlign`, `TableBorderStyle`, `TableCell`, `TimeCallbackId`, `TimeCallbackRequest`, `TimerEvent`, `TimerMode`, `TimerOptions`, `TimerState`, and `VerticalAlign`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 |   DelayTimerEvent, DelayTimerId, DelayTimerOptions, HitAreaEvent, HitAreaId, HitAreaOptions,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |   HitAreaService, HyperlinkEvent, HyperlinkId, HyperlinkOptions, HyperlinkService, MarkdownEvent,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^
[INFO] [stdout] 83 |   MarkdownRenderParams, MarkdownService, MarkdownTheme, MarkdownViewId, MarkdownViewOptions,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 84 |   Overflow, ProgressBarFillOrigin, ProgressBarId, ProgressBarOptions, ProgressBarSegmentStyle,
[INFO] [stdout] 85 |   ProgressBarService, RandomAlgorithm, RandomGeneratorId, RandomSeed, RandomSnapshot, RepeatMode,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 86 |   RepeatTimerEvent, RepeatTimerId, RepeatTimerOptions, RuntimeObjectPool, RuntimeObjectPoolOwner,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |   ScrollBoxEvent, ScrollBoxId, ScrollBoxOptions, ScrollBoxService, ScrollbarLayout,
[INFO] [stdout] 88 |   ScrollbarPolicy, ScrollbarSide, ScrollbarStyle, ScrollbarVisibility, SliceId, SliceLength,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout] 89 |   SliceOptions, SliceRect, SliceService, SurfaceId, TableAlign, TableBorderMode, TableBorderStyle,
[INFO] [stdout]    |                                                     ^^^^^^^^^^                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |   TableCell, TableColumn, TableDrawParams, TableId, TableOptions, TableOverflow, TableRow,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 91 |   TableService, TableStyle, TextAlign, TextInputCursorShape, TextInputEvent, TextInputId,
[INFO] [stdout] 92 |   TextInputMode, TextInputOptions, TextInputRenderParams, TextInputService, TimeCallbackId,
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 93 |   TimeCallbackRequest, TimerEvent, TimerId, TimerMode, TimerOptions, TimerState, VerticalAlign,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^           ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorderCharacter` and `CustomBorder`
[INFO] [stdout]  --> src/host_engine/services/render/mod.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use border::{BorderCharacter, BorderStyle, CustomBorder};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^               ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileEvent`, `FileTask`, `ImageEvent`, `ImageTask`, `ManagedThreadId`, `NetworkEvent`, `NetworkTask`, `SleepTask`, `TaskState`, and `TimeAsyncEvent`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |   AsyncRuntime, EngineEvent, EngineTask, FileEvent, FileTask, ImageEvent, ImageTask,
[INFO] [stdout]    |                                          ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 37 |   ManagedThreadId, NetworkEvent, NetworkTask, SleepTask, TaskId, TaskState, TimeAsyncEvent,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^          ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeHighlightToken`, `CodeLanguage`, and `CodeTokenKind`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 |   CodeHighlightService, CodeHighlightTheme, CodeHighlightToken, CodeLanguage, CodeTokenKind,
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HostAreaId` and `HostArea`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub use host_object::{HostArea, HostAreaId, HostAreaKind, HostObjectPool};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputActionEvent` and `InputEventType`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |   ActionMapEntry, InputActionEvent, InputEventType, InputService, Key, KeyEventKind, KeyState,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RichText`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 |   RichText, RichTextParams, RichTextSegment, RichTextService, TerminalColor, TextColor, TextStyle,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScreenshotProfile`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:72:3
[INFO] [stdout]    |
[INFO] [stdout] 72 |   ScreenshotProfile, StorageService,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HOST_API_VERSION` and `PACKAGE_MANIFEST_VERSION`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub use version::{HOST_API_VERSION, HOST_VERSION, PACKAGE_MANIFEST_VERSION};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DelayTimerEvent`, `DelayTimerId`, `DelayTimerOptions`, `HyperlinkEvent`, `HyperlinkId`, `HyperlinkOptions`, `MarkdownEvent`, `MarkdownTheme`, `RandomAlgorithm`, `RandomGeneratorId`, `RandomSeed`, `RandomSnapshot`, `RepeatMode`, `RepeatTimerEvent`, `RepeatTimerId`, `RepeatTimerOptions`, `ScrollbarSide`, `TableAlign`, `TableBorderStyle`, `TableCell`, `TimeCallbackId`, `TimeCallbackRequest`, `TimerEvent`, `TimerMode`, `TimerOptions`, `TimerState`, and `VerticalAlign`
[INFO] [stdout]   --> src/host_engine/services/mod.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 |   DelayTimerEvent, DelayTimerId, DelayTimerOptions, HitAreaEvent, HitAreaId, HitAreaOptions,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |   HitAreaService, HyperlinkEvent, HyperlinkId, HyperlinkOptions, HyperlinkService, MarkdownEvent,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^
[INFO] [stdout] 83 |   MarkdownRenderParams, MarkdownService, MarkdownTheme, MarkdownViewId, MarkdownViewOptions,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 84 |   Overflow, ProgressBarFillOrigin, ProgressBarId, ProgressBarOptions, ProgressBarSegmentStyle,
[INFO] [stdout] 85 |   ProgressBarService, RandomAlgorithm, RandomGeneratorId, RandomSeed, RandomSnapshot, RepeatMode,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 86 |   RepeatTimerEvent, RepeatTimerId, RepeatTimerOptions, RuntimeObjectPool, RuntimeObjectPoolOwner,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |   ScrollBoxEvent, ScrollBoxId, ScrollBoxOptions, ScrollBoxService, ScrollbarLayout,
[INFO] [stdout] 88 |   ScrollbarPolicy, ScrollbarSide, ScrollbarStyle, ScrollbarVisibility, SliceId, SliceLength,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout] 89 |   SliceOptions, SliceRect, SliceService, SurfaceId, TableAlign, TableBorderMode, TableBorderStyle,
[INFO] [stdout]    |                                                     ^^^^^^^^^^                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |   TableCell, TableColumn, TableDrawParams, TableId, TableOptions, TableOverflow, TableRow,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 91 |   TableService, TableStyle, TextAlign, TextInputCursorShape, TextInputEvent, TextInputId,
[INFO] [stdout] 92 |   TextInputMode, TextInputOptions, TextInputRenderParams, TextInputService, TimeCallbackId,
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 93 |   TimeCallbackRequest, TimerEvent, TimerId, TimerMode, TimerOptions, TimerState, VerticalAlign,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^           ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/host_engine/ui/home/about.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 |         if let ScrollBoxEvent::Scrolled { id, x, y } = event {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_cols`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:473:34
[INFO] [stdout]     |
[INFO] [stdout] 473 |       let (prev_start, prev_end, prev_cols, _) = self.page_bounds();
[INFO] [stdout]     |                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_cols`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:482:10
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let (start, end, cols, pages) = self.page_bounds();
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_start`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 |       let (prev_start, prev_end, _, _) = self.page_bounds();
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:515:10
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let (start, end, cols, pages) = self.page_bounds();
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `screenshot` is never read
[INFO] [stdout]  --> src/host_engine/runtime/engine_events.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(super) struct RuntimeEngineEvents {
[INFO] [stdout]   |                   ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |   pub screenshot: Vec<ScreenshotAsyncEvent>,
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `epoch` is never read
[INFO] [stdout]  --> src/host_engine/core/clock.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct EngineClock {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |   epoch: Instant,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `elapsed` is never used
[INFO] [stdout]   --> src/host_engine/core/clock.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl EngineClock {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn elapsed(&self) -> Duration {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_frame` is never used
[INFO] [stdout]   --> src/host_engine/core/frame.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl FrameScheduler {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |   pub fn current_frame(&self) -> u64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `game_loop` and `game_loop_mut` are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/game.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GameState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 12 |   pub fn game_loop(&self) -> &GameLoopState {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn game_loop_mut(&mut self) -> &mut GameLoopState {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/host_machine.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HostMachineState {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn is_boot(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn is_init(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn is_runtime(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn is_shutdown(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |   pub fn set_boot(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn set_init(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |   pub fn set_runtime(&mut self, runtime: RuntimeState) {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |   pub fn set_shutdown(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |   pub fn set_stopped(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Game` is never constructed
[INFO] [stdout]  --> src/host_engine/core/state_machine/main_host.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum MainHostState {
[INFO] [stdout]   |          ------------- variant in this enum
[INFO] [stdout] 6 |   Host(HostState),
[INFO] [stdout] 7 |   Game(GameState),
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MainHostState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_game`, `host`, `game`, `game_mut`, `switch_to_host`, and `switch_to_game` are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/main_host.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MainHostState {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |   pub fn is_game(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn host(&self) -> Option<&HostState> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |   pub fn game(&self) -> Option<&GameState> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn game_mut(&mut self) -> Option<&mut GameState> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn switch_to_host(&mut self, host: HostState) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   pub fn switch_to_game(&mut self, game: GameState) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ConfirmExit` is never constructed
[INFO] [stdout]   --> src/host_engine/core/state_machine/overlay.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum OverlayKind {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 18 |   ConfirmExit,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OverlayKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `len`, `top_mut`, and `clear` are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/overlay.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl OverlayStackState {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |   pub fn len(&self) -> usize {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |   pub fn top_mut(&mut self) -> Option<&mut OverlayState> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_overlay` is never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/runtime.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RuntimeState {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |   pub fn has_overlay(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Root` is never constructed
[INFO] [stdout]   --> src/host_engine/core/state_machine/ui_tree.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum UiNodeKind {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 18 |   Root,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiNodeKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `root` is never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/ui_tree.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl UiNodeState {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 45 |   pub fn root() -> Self {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_mut`, `reset`, and `replace_current` are never used
[INFO] [stdout]    --> src/host_engine/core/state_machine/ui_tree.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl UiTreeState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |   pub fn current_mut(&mut self) -> Option<&mut UiNodeState> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |   pub fn reset(&mut self, root: UiNodeState) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |   pub fn replace_current(&mut self, node: UiNodeState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/host_engine/services/mod.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct EngineServices {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |   pub file: FileService,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 101 |   pub network: NetworkService,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 102 |   pub random: RandomService,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |   pub ui: UiService,
[INFO] [stdout]     |       ^^
[INFO] [stdout] 120 |   pub game: GameService,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 121 |   pub image: ImageService,
[INFO] [stdout] 122 |   pub overlay: OverlayService,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   pub rich_text: RichTextService,
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 132 |   pub unicode: UnicodeService,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum TaskState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |   Cancelled,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ReadText`, `WriteText`, `ReadBytes`, and `WriteBytes` are never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum FileTask {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 42 |   ReadText { path: PathBuf },
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 43 |   WriteText { path: PathBuf, text: String },
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 44 |   ReadBytes { path: PathBuf },
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 45 |   WriteBytes { path: PathBuf, bytes: Vec<u8> },
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `path`, and `text` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |   ReadTextFinished {
[INFO] [stdout]    |   ---------------- fields in this variant
[INFO] [stdout] 51 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 52 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 53 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `path` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |   WriteTextFinished {
[INFO] [stdout]    |   ----------------- fields in this variant
[INFO] [stdout] 56 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 57 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `path`, and `bytes` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |   ReadBytesFinished {
[INFO] [stdout]    |   ----------------- fields in this variant
[INFO] [stdout] 60 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 62 |     bytes: Vec<u8>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `path` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |   WriteBytesFinished {
[INFO] [stdout]    |   ------------------ fields in this variant
[INFO] [stdout] 65 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 66 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `path`, and `error` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |   Failed {
[INFO] [stdout]    |   ------ fields in this variant
[INFO] [stdout] 69 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 70 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 71 |     error: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Convert` is never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub enum ImageTask {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 77 |   Convert {
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `output` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |   ConvertFinished { task_id: TaskId, output: String },
[INFO] [stdout]    |   ---------------   ^^^^^^^          ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `error` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |   Failed { task_id: TaskId, error: String },
[INFO] [stdout]    |   ------   ^^^^^^^          ^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Get` is never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub enum NetworkTask {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 91 |   Get { url: String },
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetworkTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `url`, `status`, and `body` are never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |   GetFinished {
[INFO] [stdout]     |   ----------- fields in this variant
[INFO] [stdout]  97 |     task_id: TaskId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  98 |     url: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  99 |     status: u16,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 100 |     body: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `url`, and `error` are never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |   Failed {
[INFO] [stdout]     |   ------ fields in this variant
[INFO] [stdout] 103 |     task_id: TaskId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 104 |     url: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 105 |     error: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `callback` are never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |   SleepFinished {
[INFO] [stdout]     |   ------------- fields in this variant
[INFO] [stdout] 118 |     task_id: TaskId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 119 |     callback: Option<TimeCallbackId>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TimeAsyncEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `File`, `Image`, `Network`, and `Sleep` are never constructed
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:128:3
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub enum EngineTask {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 128 |   File(FileTask),
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 129 |   Image(ImageTask),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 130 |   Network(NetworkTask),
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 131 |   Sleep(SleepTask),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |   File(FileEvent),
[INFO] [stdout]     |   ---- ^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 141 -   File(FileEvent),
[INFO] [stdout] 141 +   File(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |   Image(ImageEvent),
[INFO] [stdout]     |   ----- ^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 142 -   Image(ImageEvent),
[INFO] [stdout] 142 +   Image(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:143:11
[INFO] [stdout]     |
[INFO] [stdout] 143 |   Network(NetworkEvent),
[INFO] [stdout]     |   ------- ^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 143 -   Network(NetworkEvent),
[INFO] [stdout] 143 +   Network(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |   Time(TimeAsyncEvent),
[INFO] [stdout]     |   ---- ^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 144 -   Time(TimeAsyncEvent),
[INFO] [stdout] 144 +   Time(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |   TaskFinished { id: TaskId },
[INFO] [stdout]     |   ------------   ^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `task_state`, `event_sender`, and `stop_managed_thread` are never used
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl AsyncRuntime {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |   pub fn task_state(&self, id: TaskId) -> Option<TaskState> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn event_sender(&self) -> Sender<EngineEvent> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |   pub fn stop_managed_thread(&mut self, id: ManagedThreadId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `row_text` is never used
[INFO] [stdout]   --> src/host_engine/services/canvas/buffer.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CanvasBuffer {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |   pub fn row_text(&self, y: u16) -> String {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/host_engine/services/canvas/cell.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CanvasCell {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |   pub fn new(text: impl Into<String>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/canvas/service.rs:84:10
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl CanvasService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  84 |   pub fn base_width(&self) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |   pub fn base_height(&self) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |   pub fn base_size(&self) -> Size {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn clear(&mut self) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |   pub(crate) fn top_styled_text(&mut self, x: u16, y: u16, text: &str, style: TextStyle) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |   pub fn cell_at(&self, x: u16, y: u16) -> Option<&CanvasCell> {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |   pub(crate) fn prepared_slices(&self) -> impl Iterator<Item = (SliceId, &PreparedSlice)> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |   pub fn prepared_slice_size(&self, id: SliceId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |   pub fn prepared_slice_width(&self, id: SliceId) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |   pub fn prepared_slice_height(&self, id: SliceId) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |   pub fn prepared_scroll_box_size(&self, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 560 |   pub fn prepared_scroll_box_content_size(&self, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 569 |   pub fn prepared_scroll_box_viewport_size(&self, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |   pub fn prepared_scroll_box_scroll_position(&self, id: ScrollBoxId) -> Option<(u16, u16)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTED` is never used
[INFO] [stdout]   --> src/host_engine/services/code_highlight/mod.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const SUPPORTED: &[CodeLanguage] = &[
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `supported_languages` and `detect_language_from_path` are never used
[INFO] [stdout]    --> src/host_engine/services/code_highlight/mod.rs:99:10
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl CodeHighlightService {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |   pub fn supported_languages(&self) -> &'static [CodeLanguage] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |   pub fn detect_language_from_path(&self, path: &Path) -> Option<CodeLanguage> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_language_from_path` is never used
[INFO] [stdout]    --> src/host_engine/services/code_highlight/mod.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn detect_language_from_path(path: &Path) -> Option<CodeLanguage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `is_empty` are never used
[INFO] [stdout]   --> src/host_engine/services/event.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl EngineEventQueue {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn push(&mut self, event: EngineEvent) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dir_path` is never used
[INFO] [stdout]   --> src/host_engine/services/export/service.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl ExportScope {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 43 |   fn dir_path(self, storage: &StorageService) -> PathBuf {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `export` is never used
[INFO] [stdout]    --> src/host_engine/services/export/service.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl ExportService {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |   pub fn export(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_text`, `write_text`, `read_bytes`, and `write_bytes` are never used
[INFO] [stdout]   --> src/host_engine/services/file.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl FileService {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn read_text(&self, async_runtime: &AsyncRuntime, path: PathBuf) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn write_text(&self, async_runtime: &AsyncRuntime, path: PathBuf, text: String) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn read_bytes(&self, async_runtime: &AsyncRuntime, path: PathBuf) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   pub fn write_bytes(&self, async_runtime: &AsyncRuntime, path: PathBuf, bytes: Vec<u8>) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Running` and `Paused` are never constructed
[INFO] [stdout]  --> src/host_engine/services/game.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum GameSessionState {
[INFO] [stdout]   |          ---------------- variants in this enum
[INFO] [stdout] 4 |   Inactive,
[INFO] [stdout] 5 |   Running,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout] 6 |   Paused,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `GameSessionState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `active_package_uid` are never read
[INFO] [stdout]   --> src/host_engine/services/game.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GameService {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |   state: GameSessionState,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 12 |   active_package_uid: Option<String>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start`, `stop`, `state`, and `update` are never used
[INFO] [stdout]   --> src/host_engine/services/game.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GameService {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn start(&mut self, package_uid: &str) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn stop(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn state(&self) -> GameSessionState {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn update(&mut self) {}
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `area_size`, `area_width`, `area_height`, `is_visible`, and `clear` are never used
[INFO] [stdout]    --> src/host_engine/services/host_object.rs:73:10
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl HostObjectPool {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |   pub fn area_size(&self, kind: HostAreaKind) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |   pub fn area_width(&self, kind: HostAreaKind) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |   pub fn area_height(&self, kind: HostAreaKind) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |   pub fn is_visible(&self, kind: HostAreaKind) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |   pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `code` and `direction` are never read
[INFO] [stdout]  --> src/host_engine/services/i18n/language_info.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LanguageInfo {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 4 |   pub code: String,
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 5 |   pub direction: String,
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LanguageInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_language_info` is never used
[INFO] [stdout]   --> src/host_engine/services/i18n/service.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl I18nService {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |   pub fn current_language_info(&self) -> Option<&LanguageInfo> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `convert_async` is never used
[INFO] [stdout]   --> src/host_engine/services/image.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ImageService {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |   pub fn convert_async(&self, async_runtime: &AsyncRuntime, params: ImageConvertParams) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/input/service.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl InputService {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 360 |   pub fn poll_system_events(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |   pub fn is_raw_key_capture_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |   pub fn enable_raw_mouse_capture(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |   pub fn disable_raw_mouse_capture(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |   pub fn is_raw_mouse_capture_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |   pub fn take_raw_mouse_events(&mut self) -> Vec<MouseEvent> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 574 |   pub fn mouse_position(&self) -> Option<(u16, u16)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |   pub fn is_mouse_down(&self, button: MouseButton) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 |   pub fn key_bindings(&self) -> &[KeyBinding] {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 631 |   pub fn is_action_map_dispatch_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `policy`, `restrict_input_method`, `is_input_method_restricted`, `ascii_input_method`, and `last_error` are never used
[INFO] [stdout]    --> src/host_engine/services/input_method.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl InputMethodService {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn policy(&self) -> ImPolicy {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |   pub fn restrict_input_method(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   pub fn is_input_method_restricted(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |   pub fn ascii_input_method(&self) -> Option<&str> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |   pub fn last_error(&self) -> Option<&str> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_height` is never used
[INFO] [stdout]   --> src/host_engine/services/layout/measure.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn get_text_height(text: &str, params: Option<&RichTextParams>) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_draw_text_height` is never used
[INFO] [stdout]   --> src/host_engine/services/layout/measure.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn get_draw_text_height(params: &DrawTextParams) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_rect` is never used
[INFO] [stdout]   --> src/host_engine/services/layout/position.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn resolve_rect(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host_engine/services/layout/service.rs:40:10
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl LayoutService {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  40 |   pub fn get_text_height(&self, text: &str, params: Option<&RichTextParams>) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn get_draw_text_height(&self, params: &DrawTextParams) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |   pub(crate) fn reset_developer_viewport(&mut self) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |   pub fn resolve_base_x(&self, x_anchor: &str, content_width: u16, offset_x: u16) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |   pub fn resolve_base_y(&self, y_anchor: &str, content_height: u16, offset_y: u16) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn resolve_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub fn resolve_base_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |   pub fn resolve_slice_x(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |   pub fn resolve_slice_y(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   pub fn resolve_slice_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |   pub fn resolve_scroll_box_x(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |   pub fn resolve_scroll_box_y(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |   pub fn resolve_scroll_box_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |   pub(crate) fn resolve_host_y(&self, y_anchor: &str, content_height: u16, offset_y: u16) -> u16 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |   fn slice_size(&self, pool: &UiObjectPool, id: SliceId) -> Option<Size> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |   fn scroll_box_visible_size(&self, pool: &UiObjectPool, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |   pub const ALIGN_LEFT: &'static str = position::ALIGN_LEFT;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 312 |   pub const ALIGN_CENTER: &'static str = position::ALIGN_CENTER;
[INFO] [stdout] 313 |   pub const ALIGN_RIGHT: &'static str = position::ALIGN_RIGHT;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 314 |   pub const ALIGN_TOP: &'static str = position::ALIGN_TOP;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 315 |   pub const ALIGN_MIDDLE: &'static str = position::ALIGN_MIDDLE;
[INFO] [stdout] 316 |   pub const ALIGN_BOTTOM: &'static str = position::ALIGN_BOTTOM;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> src/host_engine/services/layout/types.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Position {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_log_entry` is never used
[INFO] [stdout]  --> src/host_engine/services/log/formatter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn format_log_entry(entry: &LogEntry) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/log/service.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LogService {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |   pub fn trace(&mut self, source: LogSource, message: impl Into<String>) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |   pub fn debug(&mut self, source: LogSource, message: impl Into<String>) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |   pub fn entries(&self) -> &VecDeque<LogEntry> {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |   pub fn drain(&mut self) -> Vec<LogEntry> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |   pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |   pub fn set_max_entries(&mut self, max_entries: usize) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn flush_to_console(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn last_file_error(&self) -> Option<&str> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lua` is never used
[INFO] [stdout]   --> src/host_engine/services/lua.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl LuaService {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |   pub fn lua(&self) -> &Lua {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/host_engine/services/network.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl NetworkService {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |   pub fn get(&self, async_runtime: &AsyncRuntime, url: String) -> TaskId {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Running` is never constructed
[INFO] [stdout]  --> src/host_engine/services/overlay.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum OverlaySessionState {
[INFO] [stdout]   |          ------------------- variant in this enum
[INFO] [stdout] 4 |   Inactive,
[INFO] [stdout] 5 |   Running,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `OverlaySessionState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `active_screensaver_uid` are never read
[INFO] [stdout]   --> src/host_engine/services/overlay.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct OverlayService {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 10 |   state: OverlaySessionState,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 11 |   active_screensaver_uid: Option<String>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start`, `stop`, `is_active`, and `update` are never used
[INFO] [stdout]   --> src/host_engine/services/overlay.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl OverlayService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn start(&mut self, package_uid: &str) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn stop(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |   pub fn is_active(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn update(&mut self) {}
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dir_name`, `version_code`, `api_min`, `api_max`, `entry`, and `runtime` are never read
[INFO] [stdout]   --> src/host_engine/services/package.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct PackageInfo {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 48 |   pub source: PackageSource,
[INFO] [stdout] 49 |   pub dir_name: String,
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub version_code: u32,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 54 |   pub api_min: u32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 55 |   pub api_max: u32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 56 |   pub entry: String,
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 57 |   pub display: PackageDisplay,
[INFO] [stdout] 58 |   pub runtime: PackageRuntime,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PackageInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `package_type`, `icon_path`, and `path` are never read
[INFO] [stdout]   --> src/host_engine/services/package.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct PackageListEntry {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub package_type: PackageType,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub icon_path: Option<String>,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 80 |   pub banner: PackageAsset,
[INFO] [stdout] 81 |   pub path: PathBuf,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PackageListEntry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_width` and `min_height` are never read
[INFO] [stdout]    --> src/host_engine/services/package.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct PackageRuntime {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 122 |   pub min_width: u32,
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 123 |   pub min_height: u32,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PackageRuntime` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_fps` and `save` are never read
[INFO] [stdout]    --> src/host_engine/services/package.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct GameConfig {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |   pub target_fps: u32,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 135 |   pub save: bool,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GameConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]    --> src/host_engine/services/package.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct ActionConfig {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 150 |   pub description: String,
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActionConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `command` are never read
[INFO] [stdout]    --> src/host_engine/services/package.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct ScreensaverConfig {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 157 |   pub name: String,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |   pub command: String,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScreensaverConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scan_all`, `poll_events`, and `total_count` are never used
[INFO] [stdout]    --> src/host_engine/services/package.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl PackageService {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 256 |   pub fn scan_all(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub fn poll_events(&mut self, log: &mut LogService) -> Vec<PackageEvent> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |   pub fn total_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/random.rs:15:10
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl RandomService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  15 |   pub fn create(&self, pool: &mut RuntimeObjectPool, seed: RandomSeed) -> RandomGeneratorId {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |   pub fn remove(&self, pool: &mut RuntimeObjectPool, id: RandomGeneratorId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  23 |   pub fn exists(&self, pool: &RuntimeObjectPool, id: RandomGeneratorId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |   pub fn reseed(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |   pub fn set_stream(
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |   pub fn next_u32(&self, pool: &mut RuntimeObjectPool, id: RandomGeneratorId) -> Option<u32> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |   pub fn next_u64(&self, pool: &mut RuntimeObjectPool, id: RandomGeneratorId) -> Option<u64> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |   pub fn float_01(&self, pool: &mut RuntimeObjectPool, id: RandomGeneratorId) -> Option<f64> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |   pub fn int_range(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |   pub fn bool(
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |   pub fn snapshot(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |   pub fn restore(
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_f64` is never used
[INFO] [stdout]    --> src/host_engine/services/random.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn next_f64(rng: &mut impl Rng) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_i64_range` is never used
[INFO] [stdout]    --> src/host_engine/services/random.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn sample_i64_range(rng: &mut impl Rng, min: i64, max: i64) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `Bold`, and `Custom` are never constructed
[INFO] [stdout]   --> src/host_engine/services/render/border.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum BorderStyle {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 55 |   None,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 56 |   Line,
[INFO] [stdout] 57 |   Bold,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   Custom(CustomBorder),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BorderStyle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Slice` is never constructed
[INFO] [stdout]   --> src/host_engine/services/render/service.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum Target {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout]  9 |   Base,
[INFO] [stdout] 10 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Target` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/render/service.rs:25:10
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl RenderService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |   pub fn draw_text(&mut self, canvas: &mut CanvasService, params: &DrawTextParams) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |   pub fn draw_text_on(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |   pub fn draw_filled_rect_on(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   pub fn draw_filled_rect_in_scroll_box(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |   pub(crate) fn draw_top_filled_rect(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |   pub fn draw_border_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |   pub fn draw_border_rect_on(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |   pub fn draw_text_on_surface(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |   pub fn draw_filled_rect_on_surface(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |   pub fn draw_border_rect_on_surface(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `blank_text_cell` is never used
[INFO] [stdout]   --> src/host_engine/services/render_pipeline/frame.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl ComposedFrame {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |   pub fn blank_text_cell() -> CanvasCell {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_active` and `clear_all_and_home` are never used
[INFO] [stdout]    --> src/host_engine/services/terminal.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl TerminalService {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |   pub fn is_active(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub fn clear_all_and_home(&mut self) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/time.rs:25:10
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TimeService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |   pub fn sleep(
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |   pub fn create_count_down(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |   pub fn remove(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |   pub fn pause(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |   pub fn resume(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |   pub fn stop(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |   pub fn state(&self, pool: &RuntimeObjectPool, id: TimerId) -> Option<TimerState> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |   pub fn duration(&self, pool: &RuntimeObjectPool, id: TimerId) -> Option<Duration> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |   pub fn remaining(&self, pool: &RuntimeObjectPool, id: TimerId) -> Option<Duration> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |   pub fn progress(&self, pool: &RuntimeObjectPool, id: TimerId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |   pub fn is_running(&self, pool: &RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |   pub fn is_paused(&self, pool: &RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |   pub fn is_finished(&self, pool: &RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |   pub fn take_events(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> Vec<TimerEvent> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |   pub fn create_delay_timer(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |   pub fn remove_delay_timer(&self, pool: &mut RuntimeObjectPool, id: DelayTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |   pub fn start_delay_timer(&self, pool: &mut RuntimeObjectPool, id: DelayTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |   pub fn pause_delay_timer(&self, pool: &mut RuntimeObjectPool, id: DelayTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |   pub fn resume_delay_timer(&self, pool: &mut RuntimeObjectPool, id: DelayTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |   pub fn stop_delay_timer(&self, pool: &mut RuntimeObjectPool, id: DelayTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |   pub fn reset_delay_timer(&self, pool: &mut RuntimeObjectPool, id: DelayTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |   pub fn delay_timer_state(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |   pub fn delay_timer_elapsed(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |   pub fn delay_timer_remaining(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |   pub fn delay_timer_progress(&self, pool: &RuntimeObjectPool, id: DelayTimerId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |   pub fn take_delay_timer_events(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |   pub fn create_repeat_timer(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |   pub fn remove_repeat_timer(&self, pool: &mut RuntimeObjectPool, id: RepeatTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |   pub fn start_repeat_timer(&self, pool: &mut RuntimeObjectPool, id: RepeatTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |   pub fn pause_repeat_timer(&self, pool: &mut RuntimeObjectPool, id: RepeatTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |   pub fn resume_repeat_timer(&self, pool: &mut RuntimeObjectPool, id: RepeatTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 484 |   pub fn stop_repeat_timer(&self, pool: &mut RuntimeObjectPool, id: RepeatTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |   pub fn reset_repeat_timer(&self, pool: &mut RuntimeObjectPool, id: RepeatTimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |   pub fn repeat_timer_state(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |   pub fn repeat_timer_elapsed(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |   pub fn repeat_timer_remaining(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |   pub fn repeat_timer_progress(&self, pool: &RuntimeObjectPool, id: RepeatTimerId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |   pub fn repeat_timer_executed_count(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |   pub fn take_repeat_timer_events(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 569 |   pub fn take_time_callback_requests(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |   fn create_internal_count_down(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |   fn remove_internal_timer(&self, pool: &mut RuntimeObjectPool, id: TimerId) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |   fn delay_timer_id(&self, pool: &RuntimeObjectPool, id: DelayTimerId) -> Option<TimerId> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |   fn repeat_timer_id(&self, pool: &RuntimeObjectPool, id: RepeatTimerId) -> Option<TimerId> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |   fn start_internal(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |   fn pause_internal(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |   fn resume_internal(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 649 |   fn stop_internal(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658 |   fn reset_internal(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rich_text_width` is never used
[INFO] [stdout]   --> src/host_engine/services/unicode/measure.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn rich_text_width(rich_text: &RichText) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_display_width` is never used
[INFO] [stdout]   --> src/host_engine/services/unicode/measure.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn line_display_width(line: &str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `char_width`, `display_width`, `rich_text_width`, `graphemes`, and `line_display_width` are never used
[INFO] [stdout]   --> src/host_engine/services/unicode/service.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl UnicodeService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 13 |   pub fn char_width(&self, ch: char) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |   pub fn display_width(&self, text: &str) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |   pub fn rich_text_width(&self, rich_text: &RichText) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn graphemes(&self, text: &str) -> Vec<GraphemeInfo> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |   pub fn line_display_width(&self, line: &str) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TextDirection` is never used
[INFO] [stdout]   --> src/host_engine/services/unicode/types.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum TextDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BidiRun` is never constructed
[INFO] [stdout]   --> src/host_engine/services/unicode/types.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct BidiRun {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `random_generators` is never read
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/mod.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RuntimeObjectPool {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |   pub(crate) random_generators: RandomGeneratorObjects,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `take_timer_events`, `clear_delay_timer_events`, `take_delay_timer_events`, `clear_repeat_timer_events`, `take_repeat_timer_events`, and `take_time_callback_requests` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/mod.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl RuntimeObjectPool {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub(crate) fn take_timer_events(&mut self, id: time::TimerId) -> Vec<TimerEvent> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub(crate) fn clear_delay_timer_events(&mut self, id: DelayTimerId) {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub(crate) fn take_delay_timer_events(&mut self, id: DelayTimerId) -> Vec<DelayTimerEvent> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub(crate) fn clear_repeat_timer_events(&mut self, id: RepeatTimerId) {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |   pub(crate) fn take_repeat_timer_events(&mut self, id: RepeatTimerId) -> Vec<RepeatTimerEvent> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub(crate) fn take_time_callback_requests(&mut self) -> Vec<TimeCallbackRequest> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RuntimeObjectPoolOwner` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait RuntimeObjectPoolOwner {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChaCha8` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RandomAlgorithm {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] 11 |   ChaCha8,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RandomAlgorithm` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RandomSeed` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RandomSeed {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomSnapshot` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct RandomSnapshot {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `algorithm`, `seed`, `stream`, `draw_count`, and `rng` are never read
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) struct RandomGenerator {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 31 |   pub(crate) algorithm: RandomAlgorithm,
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 32 |   pub(crate) seed: [u8; 32],
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 33 |   pub(crate) stream: u64,
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 34 |   pub(crate) draw_count: u64,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 35 |   pub(crate) rng: ChaCha8Rng,
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_snapshot`, `reseed`, `set_stream`, `snapshot`, and `from_parts` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl RandomGenerator {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 39 |   pub(crate) fn new(seed: RandomSeed) -> Self {
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub(crate) fn from_snapshot(snapshot: &RandomSnapshot) -> Self {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   pub(crate) fn reseed(&mut self, seed: RandomSeed) {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |   pub(crate) fn set_stream(&mut self, stream: u64) {
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub(crate) fn snapshot(&self, id: RandomGeneratorId) -> RandomSnapshot {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |   fn from_parts(seed: [u8; 32], stream: u64, word_pos: u128, draw_count: u64) -> Self {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `next_id` and `generators` are never read
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) struct RandomGeneratorObjects {
[INFO] [stdout]    |                   ---------------------- fields in this struct
[INFO] [stdout] 86 |   pub(crate) next_id: u64,
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 87 |   pub(crate) generators: HashMap<RandomGeneratorId, RandomGenerator>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl RandomGeneratorObjects {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |   pub(crate) fn create(&mut self, generator: RandomGenerator) -> RandomGeneratorId {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seed_to_bytes` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/runtime_object/random/mod.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn seed_to_bytes(seed: RandomSeed) -> [u8; 32] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `splitmix64` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/runtime_object/random/mod.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn splitmix64(mut value: u64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CountDown` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TimerMode {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 18 |   CountUp,
[INFO] [stdout] 19 |   CountDown { duration: Duration },
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimerMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Paused` and `Stopped` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum TimerState {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |   Paused,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 27 |   Finished,
[INFO] [stdout] 28 |   Stopped,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimerState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Forever` and `Count` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum RepeatMode {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 51 |   Forever,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 52 |   Count(u32),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RepeatMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DelayTimerOptions` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct DelayTimerOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepeatTimerOptions` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RepeatTimerOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl DelayTimerEvent {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 76 |   pub(crate) fn id(&self) -> DelayTimerId {
[INFO] [stdout]    |                 ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/time/mod.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl RepeatTimerEvent {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 96 |   pub(crate) fn id(&self) -> RepeatTimerId {
[INFO] [stdout]    |                 ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `delay_id` and `repeat_id` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/runtime_object/time/mod.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl TimeCallbackRequest {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 122 |   pub(crate) fn delay_id(&self) -> Option<DelayTimerId> {
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |   pub(crate) fn repeat_id(&self) -> Option<RepeatTimerId> {
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_id` is never read
[INFO] [stdout]    --> src/host_engine/services/widget/runtime_object/time/mod.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub(crate) struct DelayTimerObjects {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] 164 |   pub(crate) next_id: u64,
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_id` is never read
[INFO] [stdout]    --> src/host_engine/services/widget/runtime_object/time/mod.rs:180:14
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub(crate) struct RepeatTimerObjects {
[INFO] [stdout]     |                   ------------------ field in this struct
[INFO] [stdout] 180 |   pub(crate) next_id: u64,
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `duration`, `remaining`, and `progress` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/runtime_object/time/mod.rs:226:17
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl Timer {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 226 |   pub(crate) fn duration(&self) -> Option<Duration> {
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |   pub(crate) fn remaining(&self) -> Option<Duration> {
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |   pub(crate) fn progress(&self) -> Option<f32> {
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ScrollBox` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/mod.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) enum UiComponentEvent {
[INFO] [stdout]    |                 ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 53 |   ScrollBox(ScrollBoxEvent),
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiComponentEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hyperlink_id`, `markdown_id`, and `text_input_id` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl UiComponentEvent {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |   pub(crate) fn hyperlink_id(&self) -> Option<HyperlinkId> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub(crate) fn markdown_id(&self) -> Option<MarkdownViewId> {
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |   pub(crate) fn text_input_id(&self) -> Option<interactives::text_input::TextInputId> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_scroll_event` and `move_surface_to_edge` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/mod.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl UiObjectPool {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub(crate) fn push_scroll_event(&mut self, event: ScrollBoxEvent) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |   pub(crate) fn move_surface_to_edge(&mut self, surface: SurfaceId, back: bool) -> bool {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `exists`, `is_hovered`, `is_pressed`, `pointer_position`, `local_pointer_position`, and `render` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/hit_area/mod.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl HitAreaService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |   pub fn exists(&self, pool: &UiObjectPool, id: HitAreaId) -> bool {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn is_hovered(&self, pool: &UiObjectPool, id: HitAreaId) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |   pub fn is_pressed(&self, pool: &UiObjectPool, id: HitAreaId, button: MouseButton) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |   pub fn pointer_position(&self, pool: &UiObjectPool) -> Option<(u16, u16)> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |   pub fn local_pointer_position(&self, pool: &UiObjectPool, id: HitAreaId) -> Option<(u16, u16)> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub fn render(
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/hyperlink/mod.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl HyperlinkService {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  21 |   pub fn create(&self, pool: &mut UiObjectPool, options: HyperlinkOptions) -> Option<HyperlinkId> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |   pub fn remove(&self, pool: &mut UiObjectPool, id: HyperlinkId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |   pub fn exists(&self, pool: &UiObjectPool, id: HyperlinkId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn link<'a>(&self, pool: &'a UiObjectPool, id: HyperlinkId) -> Option<&'a str> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn text<'a>(&self, pool: &'a UiObjectPool, id: HyperlinkId) -> Option<&'a str> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |   pub fn set_link(&self, pool: &mut UiObjectPool, id: HyperlinkId, link: String) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |   pub fn set_text(&self, pool: &mut UiObjectPool, id: HyperlinkId, text: String) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |   pub fn render(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |   pub(crate) fn render_host(
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   fn render_resolved(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_options` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/hyperlink/mod.rs:244:4
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn validate_options(options: &HyperlinkOptions) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_params` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/hyperlink/mod.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn draw_params(x: u16, y: u16, text: String, style: TextStyle) -> DrawTextParams {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text_width` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/hyperlink/mod.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn text_width(params: &DrawTextParams) -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_id` is never read
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/hyperlink/state.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct HyperlinkObjects {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 20 |   pub next_id: u64,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `style`, `fg`, and `bg` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/hyperlink/types.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HyperlinkOptions {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 14 |   pub fn new(link: impl Into<String>, text: impl Into<String>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn style(mut self, style: TextStyle) -> Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn fg(mut self, color: TextColor) -> Self {
[INFO] [stdout]    |          ^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn bg(mut self, color: TextColor) -> Self {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_hyperlink_style` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/hyperlink/types.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn default_hyperlink_style() -> TextStyle {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `move_left`, `move_right`, `move_home`, `move_end`, and `grapheme_count` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/text_input/buffer.rs:48:10
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl TextBuffer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn clear(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |   pub fn move_left(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |   pub fn move_right(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |   pub fn move_home(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |   pub fn move_end(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |   pub fn grapheme_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `render`, `render_on`, `cursor`, `selection`, and `clear` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/text_input/service.rs:52:10
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl TextInputService {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn remove(&mut self, pool: &mut UiObjectPool, id: TextInputId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |   pub fn render(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |   pub fn cursor(&self, pool: &UiObjectPool, id: TextInputId) -> Option<usize> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn selection(&self, pool: &UiObjectPool, id: TextInputId) -> Option<Range<usize>> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |   pub fn clear(&self, pool: &mut UiObjectPool, id: TextInputId) -> bool {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Bottom` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/text_input/types.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum VerticalAlign {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |   Center,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 23 |   Bottom,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VerticalAlign` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Underline` and `Line` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/text_input/types.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum TextInputCursorShape {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |   Underline,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 32 |   None,
[INFO] [stdout] 33 |   Line,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInputCursorShape` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Base` and `Slice` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/text_input/types.rs:95:3
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(super) enum TextSurface {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 95 |   Base,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 96 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextSurface` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Base`, `Slice`, and `Host` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/markdown_view/mod.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum MarkdownTarget {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 22 |   Base,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 23 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 24 |   ScrollBox(ScrollBoxId),
[INFO] [stdout] 25 |   Host,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarkdownTarget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/markdown_view/mod.rs:98:10
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl MarkdownService {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |   pub fn remove(&self, pool: &mut UiObjectPool, id: MarkdownViewId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |   pub fn exists(&self, pool: &UiObjectPool, id: MarkdownViewId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn markdown<'a>(&self, pool: &'a UiObjectPool, id: MarkdownViewId) -> Option<&'a str> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |   pub fn set_markdown(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |   pub fn set_theme(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn set_code_theme(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |   pub fn render(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |   pub(crate) fn render_host(
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/progress_bar/mod.rs:40:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ProgressBarService {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  40 |   pub fn remove(&self, pool: &mut UiObjectPool, id: ProgressBarId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |   pub fn exists(&self, pool: &UiObjectPool, id: ProgressBarId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn completed(&self, pool: &UiObjectPool, id: ProgressBarId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn preview(&self, pool: &UiObjectPool, id: ProgressBarId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |   pub fn set_completed(&self, pool: &mut UiObjectPool, id: ProgressBarId, value: f32) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |   pub fn set_preview(&self, pool: &mut UiObjectPool, id: ProgressBarId, value: f32) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |   pub fn origin(&self, pool: &UiObjectPool, id: ProgressBarId) -> Option<ProgressBarFillOrigin> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |   pub fn set_origin(
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |   pub fn render(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Right` and `Center` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/progress_bar/types.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum ProgressBarFillOrigin {
[INFO] [stdout]    |          --------------------- variants in this enum
[INFO] [stdout]  8 |   Left,
[INFO] [stdout]  9 |   Right,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 10 |   Center,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgressBarFillOrigin` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/scroll_box/mod.rs:48:10
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl ScrollBoxService {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn remove(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |   pub fn exists(&self, pool: &UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |   pub fn viewport_width(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |   pub fn viewport_height(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |   pub fn content_size(&self, pool: &UiObjectPool, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |   pub fn is_visible(&self, pool: &UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |   pub fn set_visible(&self, pool: &mut UiObjectPool, id: ScrollBoxId, visible: bool) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |   pub fn is_opaque(&self, pool: &UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |   pub fn set_opaque(&self, pool: &mut UiObjectPool, id: ScrollBoxId, opaque: bool) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |   pub fn viewport_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |   pub fn content_width(&self, pool: &UiObjectPool, id: ScrollBoxId) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn content_height(&self, pool: &UiObjectPool, id: ScrollBoxId) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |   pub fn visible_content_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |   pub fn visible_content_size(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |   pub fn visible_content_width(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |   pub fn visible_content_height(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |   pub fn content_to_viewport_point(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |   pub fn viewport_to_content_point(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |   pub fn scroll_to(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |   pub fn scroll_to_top(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |   pub fn scroll_to_bottom(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |   pub fn scroll_to_left(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |   pub fn scroll_to_right(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 490 |   pub fn bring_to_front(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |   pub fn send_to_back(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 498 |   pub fn move_above(&self, pool: &mut UiObjectPool, id: ScrollBoxId, target: SurfaceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Percent` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/slice/mod.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum SliceLength {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |   Percent(u8),
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SliceLength` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/slice/mod.rs:98:10
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl SliceService {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |   pub fn remove(&self, pool: &mut UiObjectPool, id: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   pub fn exists(&self, pool: &UiObjectPool, id: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |   pub fn configured_rect(&self, pool: &UiObjectPool, id: SliceId) -> Option<SliceRect> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |   pub fn resolved_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |   pub fn resolved_size(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub fn resolved_width(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |   pub fn resolved_height(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |   pub fn set_rect(&self, pool: &mut UiObjectPool, id: SliceId, rect: SliceRect) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |   pub fn is_visible(&self, pool: &UiObjectPool, id: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |   pub fn set_visible(&self, pool: &mut UiObjectPool, id: SliceId, visible: bool) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |   pub fn is_opaque(&self, pool: &UiObjectPool, id: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |   pub fn bring_to_front(&self, pool: &mut UiObjectPool, id: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |   pub fn send_to_back(&self, pool: &mut UiObjectPool, id: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |   pub fn move_above(&self, pool: &mut UiObjectPool, id: SliceId, target: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |   pub fn move_below(&self, pool: &mut UiObjectPool, id: SliceId, target: SliceId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Base` and `Slice` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/mod.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum TableTarget {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 20 |   Base,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 21 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableTarget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `exists`, `set_style`, `draw`, and `draw_on` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TableService {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn remove(&self, pool: &mut UiObjectPool, id: TableId) -> bool {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn exists(&self, pool: &UiObjectPool, id: TableId) -> bool {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn set_style(&self, pool: &mut UiObjectPool, id: TableId, style: TableStyle) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub fn draw(
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |   pub fn draw_on(
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Right` are never constructed
[INFO] [stdout]  --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TableAlign {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 6 |   Left,
[INFO] [stdout] 7 |   Center,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 8 |   Right,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TableAlign` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Clip` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum TableOverflow {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 13 |   Clip,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableOverflow` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `None` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum TableBorderMode {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] 20 |   None,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableBorderMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Double` and `DoubleOuterSingleInner` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum TableBorderStyle {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] 27 |   Single,
[INFO] [stdout] 28 |   Double,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 29 |   DoubleOuterSingleInner,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableBorderStyle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `align` and `min_width` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl TableColumn {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn align(mut self, align: TableAlign) -> Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn min_width(mut self, min_width: u16) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl TableOptions {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 131 |   pub fn new(columns: Vec<TableColumn>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct HomeUi {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `runtime_objects` and `first_layout` are never read
[INFO] [stdout]   --> src/host_engine/ui/home/about.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct InputDemoUi {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 12 |   objects: UiObjectPool,
[INFO] [stdout] 13 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |   first_layout: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply_layout` is never used
[INFO] [stdout]    --> src/host_engine/ui/home/about.rs:292:10
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl InputDemoUi {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 292 |   pub fn apply_layout(&mut self, _layout: &LayoutService, _scroll_box: &ScrollBoxService) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/game_list.rs:89:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct GameListUi {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 88 |   objects: UiObjectPool,
[INFO] [stdout] 89 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/mod.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SettingsUi {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/language.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LanguageSelectUi {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/mods/mod.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ModsUi {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]    --> src/host_engine/ui/home/settings/mods/game.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct GamePackageUi {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 109 |   objects: UiObjectPool,
[INFO] [stdout] 110 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/mods/screensaver.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ScreensaverPackageUi {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 92 |   objects: UiObjectPool,
[INFO] [stdout] 93 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/security/security_details.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SecurityDetailsUi {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 16 |   objects: UiObjectPool,
[INFO] [stdout] 17 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/security/security_settings.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SecuritySettingsUi {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StorageManagementUi {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management_clear.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct StorageManagementClearUi {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management_export.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct StorageManagementExportUi {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management_view.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StorageManagementViewUi {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] 48 |   objects: UiObjectPool,
[INFO] [stdout] 49 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/overlay/clear_warning.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct ClearWarningUi {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 40 |   objects: UiObjectPool,
[INFO] [stdout] 41 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/overlay/safe_mode_warning.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SafeModeWarningUi {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 16 |   objects: UiObjectPool,
[INFO] [stdout] 17 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/overlay/window_size_warning.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WindowSizeWarningUi {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 10 |   objects: UiObjectPool,
[INFO] [stdout] 11 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/terminal_check.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TerminalCheckUi {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> src/host_engine/services/widget/ui_object/surfaces/scroll_box/mod.rs:1342:9
[INFO] [stdout]      |
[INFO] [stdout] 1342 |     let id = service
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/host_engine/ui/home/about.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 |         if let ScrollBoxEvent::Scrolled { id, x, y } = event {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_cols`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:473:34
[INFO] [stdout]     |
[INFO] [stdout] 473 |       let (prev_start, prev_end, prev_cols, _) = self.page_bounds();
[INFO] [stdout]     |                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:482:10
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let (start, end, cols, pages) = self.page_bounds();
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_start`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 |       let (prev_start, prev_end, _, _) = self.page_bounds();
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/host_engine/ui/home/settings/language.rs:515:10
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let (start, end, cols, pages) = self.page_bounds();
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `screenshot` is never read
[INFO] [stdout]  --> src/host_engine/runtime/engine_events.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(super) struct RuntimeEngineEvents {
[INFO] [stdout]   |                   ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |   pub screenshot: Vec<ScreenshotAsyncEvent>,
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `epoch` is never read
[INFO] [stdout]  --> src/host_engine/core/clock.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct EngineClock {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |   epoch: Instant,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `elapsed` is never used
[INFO] [stdout]   --> src/host_engine/core/clock.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl EngineClock {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn elapsed(&self) -> Duration {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_frame` is never used
[INFO] [stdout]   --> src/host_engine/core/frame.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl FrameScheduler {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |   pub fn current_frame(&self) -> u64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `game_loop` and `game_loop_mut` are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/game.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GameState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 12 |   pub fn game_loop(&self) -> &GameLoopState {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn game_loop_mut(&mut self) -> &mut GameLoopState {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/host_machine.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HostMachineState {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn is_boot(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn is_init(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn is_runtime(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn is_shutdown(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |   pub fn set_boot(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn set_init(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |   pub fn set_runtime(&mut self, runtime: RuntimeState) {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |   pub fn set_shutdown(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |   pub fn set_stopped(&mut self) {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Game` is never constructed
[INFO] [stdout]  --> src/host_engine/core/state_machine/main_host.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum MainHostState {
[INFO] [stdout]   |          ------------- variant in this enum
[INFO] [stdout] 6 |   Host(HostState),
[INFO] [stdout] 7 |   Game(GameState),
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MainHostState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_game`, `host`, `game`, `game_mut`, `switch_to_host`, and `switch_to_game` are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/main_host.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MainHostState {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |   pub fn is_game(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn host(&self) -> Option<&HostState> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |   pub fn game(&self) -> Option<&GameState> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn game_mut(&mut self) -> Option<&mut GameState> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn switch_to_host(&mut self, host: HostState) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   pub fn switch_to_game(&mut self, game: GameState) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ConfirmExit` is never constructed
[INFO] [stdout]   --> src/host_engine/core/state_machine/overlay.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum OverlayKind {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 18 |   ConfirmExit,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OverlayKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `top_mut`, and `clear` are never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/overlay.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl OverlayStackState {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |   pub fn top_mut(&mut self) -> Option<&mut OverlayState> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_overlay` is never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/runtime.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RuntimeState {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |   pub fn has_overlay(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Root` is never constructed
[INFO] [stdout]   --> src/host_engine/core/state_machine/ui_tree.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum UiNodeKind {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 18 |   Root,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiNodeKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `root` is never used
[INFO] [stdout]   --> src/host_engine/core/state_machine/ui_tree.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl UiNodeState {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 45 |   pub fn root() -> Self {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_mut`, `reset`, and `replace_current` are never used
[INFO] [stdout]    --> src/host_engine/core/state_machine/ui_tree.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl UiTreeState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |   pub fn current_mut(&mut self) -> Option<&mut UiNodeState> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |   pub fn reset(&mut self, root: UiNodeState) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |   pub fn replace_current(&mut self, node: UiNodeState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/host_engine/services/mod.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct EngineServices {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |   pub file: FileService,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 101 |   pub network: NetworkService,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 102 |   pub random: RandomService,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |   pub ui: UiService,
[INFO] [stdout]     |       ^^
[INFO] [stdout] 120 |   pub game: GameService,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 121 |   pub image: ImageService,
[INFO] [stdout] 122 |   pub overlay: OverlayService,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   pub rich_text: RichTextService,
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 132 |   pub unicode: UnicodeService,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum TaskState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |   Cancelled,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WriteText`, `ReadBytes`, and `WriteBytes` are never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum FileTask {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 42 |   ReadText { path: PathBuf },
[INFO] [stdout] 43 |   WriteText { path: PathBuf, text: String },
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 44 |   ReadBytes { path: PathBuf },
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 45 |   WriteBytes { path: PathBuf, bytes: Vec<u8> },
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `path`, and `text` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |   ReadTextFinished {
[INFO] [stdout]    |   ---------------- fields in this variant
[INFO] [stdout] 51 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 52 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 53 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `path` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |   WriteTextFinished {
[INFO] [stdout]    |   ----------------- fields in this variant
[INFO] [stdout] 56 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 57 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `path`, and `bytes` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |   ReadBytesFinished {
[INFO] [stdout]    |   ----------------- fields in this variant
[INFO] [stdout] 60 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 62 |     bytes: Vec<u8>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `path` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |   WriteBytesFinished {
[INFO] [stdout]    |   ------------------ fields in this variant
[INFO] [stdout] 65 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 66 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `path`, and `error` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |   Failed {
[INFO] [stdout]    |   ------ fields in this variant
[INFO] [stdout] 69 |     task_id: TaskId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 70 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 71 |     error: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Convert` is never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub enum ImageTask {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 77 |   Convert {
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `output` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |   ConvertFinished { task_id: TaskId, output: String },
[INFO] [stdout]    |   ---------------   ^^^^^^^          ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `error` are never read
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |   Failed { task_id: TaskId, error: String },
[INFO] [stdout]    |   ------   ^^^^^^^          ^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Get` is never constructed
[INFO] [stdout]   --> src/host_engine/services/async_runtime.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub enum NetworkTask {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 91 |   Get { url: String },
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetworkTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `url`, `status`, and `body` are never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |   GetFinished {
[INFO] [stdout]     |   ----------- fields in this variant
[INFO] [stdout]  97 |     task_id: TaskId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  98 |     url: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  99 |     status: u16,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 100 |     body: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id`, `url`, and `error` are never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |   Failed {
[INFO] [stdout]     |   ------ fields in this variant
[INFO] [stdout] 103 |     task_id: TaskId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 104 |     url: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 105 |     error: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |   SleepFinished {
[INFO] [stdout]     |   ------------- field in this variant
[INFO] [stdout] 118 |     task_id: TaskId,
[INFO] [stdout] 119 |     callback: Option<TimeCallbackId>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TimeAsyncEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Image` and `Network` are never constructed
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub enum EngineTask {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 129 |   Image(ImageTask),
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 130 |   Network(NetworkTask),
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineTask` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |   File(FileEvent),
[INFO] [stdout]     |   ---- ^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 141 -   File(FileEvent),
[INFO] [stdout] 141 +   File(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |   Image(ImageEvent),
[INFO] [stdout]     |   ----- ^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 142 -   Image(ImageEvent),
[INFO] [stdout] 142 +   Image(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:143:11
[INFO] [stdout]     |
[INFO] [stdout] 143 |   Network(NetworkEvent),
[INFO] [stdout]     |   ------- ^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EngineEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 143 -   Network(NetworkEvent),
[INFO] [stdout] 143 +   Network(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `task_state`, `event_sender`, and `stop_managed_thread` are never used
[INFO] [stdout]    --> src/host_engine/services/async_runtime.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl AsyncRuntime {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |   pub fn task_state(&self, id: TaskId) -> Option<TaskState> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn event_sender(&self) -> Sender<EngineEvent> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |   pub fn stop_managed_thread(&mut self, id: ManagedThreadId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `row_text` is never used
[INFO] [stdout]   --> src/host_engine/services/canvas/buffer.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl CanvasBuffer {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |   pub fn row_text(&self, y: u16) -> String {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/host_engine/services/canvas/cell.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CanvasCell {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |   pub fn new(text: impl Into<String>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `top_styled_text`, `prepared_slices`, `prepared_scroll_box_content_size`, `prepared_scroll_box_viewport_size`, and `prepared_scroll_box_scroll_position` are never used
[INFO] [stdout]    --> src/host_engine/services/canvas/service.rs:229:10
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl CanvasService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn clear(&mut self) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |   pub(crate) fn top_styled_text(&mut self, x: u16, y: u16, text: &str, style: TextStyle) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |   pub(crate) fn prepared_slices(&self) -> impl Iterator<Item = (SliceId, &PreparedSlice)> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 560 |   pub fn prepared_scroll_box_content_size(&self, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 569 |   pub fn prepared_scroll_box_viewport_size(&self, id: ScrollBoxId) -> Option<Size> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |   pub fn prepared_scroll_box_scroll_position(&self, id: ScrollBoxId) -> Option<(u16, u16)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `memory` and `unavailable` are never used
[INFO] [stdout]   --> src/host_engine/services/clipboard.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ClipboardService {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub(crate) fn memory(text: &str) -> Self {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |   pub(crate) fn unavailable() -> Self {
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `supported_languages` is never used
[INFO] [stdout]   --> src/host_engine/services/code_highlight/mod.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl CodeHighlightService {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |   pub fn supported_languages(&self) -> &'static [CodeLanguage] {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dir_path` is never used
[INFO] [stdout]   --> src/host_engine/services/export/service.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl ExportScope {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 43 |   fn dir_path(self, storage: &StorageService) -> PathBuf {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `export` is never used
[INFO] [stdout]    --> src/host_engine/services/export/service.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl ExportService {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |   pub fn export(
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_text`, `write_text`, `read_bytes`, and `write_bytes` are never used
[INFO] [stdout]   --> src/host_engine/services/file.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl FileService {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |   pub fn read_text(&self, async_runtime: &AsyncRuntime, path: PathBuf) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn write_text(&self, async_runtime: &AsyncRuntime, path: PathBuf, text: String) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn read_bytes(&self, async_runtime: &AsyncRuntime, path: PathBuf) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   pub fn write_bytes(&self, async_runtime: &AsyncRuntime, path: PathBuf, bytes: Vec<u8>) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Running` and `Paused` are never constructed
[INFO] [stdout]  --> src/host_engine/services/game.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum GameSessionState {
[INFO] [stdout]   |          ---------------- variants in this enum
[INFO] [stdout] 4 |   Inactive,
[INFO] [stdout] 5 |   Running,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout] 6 |   Paused,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `GameSessionState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `active_package_uid` are never read
[INFO] [stdout]   --> src/host_engine/services/game.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GameService {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |   state: GameSessionState,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 12 |   active_package_uid: Option<String>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start`, `stop`, `state`, and `update` are never used
[INFO] [stdout]   --> src/host_engine/services/game.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GameService {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn start(&mut self, package_uid: &str) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn stop(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn state(&self) -> GameSessionState {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn update(&mut self) {}
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `area_height` and `clear` are never used
[INFO] [stdout]    --> src/host_engine/services/host_object.rs:85:10
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl HostObjectPool {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  85 |   pub fn area_height(&self, kind: HostAreaKind) -> Option<u16> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |   pub(crate) fn clear(&mut self) {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `code` and `direction` are never read
[INFO] [stdout]  --> src/host_engine/services/i18n/language_info.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LanguageInfo {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 4 |   pub code: String,
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 5 |   pub direction: String,
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LanguageInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_language_info` is never used
[INFO] [stdout]   --> src/host_engine/services/i18n/service.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl I18nService {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |   pub fn current_language_info(&self) -> Option<&LanguageInfo> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `convert_async` is never used
[INFO] [stdout]   --> src/host_engine/services/image.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ImageService {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |   pub fn convert_async(&self, async_runtime: &AsyncRuntime, params: ImageConvertParams) -> TaskId {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll_system_events`, `is_raw_key_capture_enabled`, and `key_bindings` are never used
[INFO] [stdout]    --> src/host_engine/services/input/service.rs:360:10
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl InputService {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 360 |   pub fn poll_system_events(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |   pub fn is_raw_key_capture_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 |   pub fn key_bindings(&self) -> &[KeyBinding] {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `policy` is never used
[INFO] [stdout]    --> src/host_engine/services/input_method.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl InputMethodService {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn policy(&self) -> ImPolicy {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_height` is never used
[INFO] [stdout]   --> src/host_engine/services/layout/measure.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn get_text_height(text: &str, params: Option<&RichTextParams>) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_draw_text_height` is never used
[INFO] [stdout]   --> src/host_engine/services/layout/measure.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn get_draw_text_height(params: &DrawTextParams) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host_engine/services/layout/service.rs:40:10
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl LayoutService {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  40 |   pub fn get_text_height(&self, text: &str, params: Option<&RichTextParams>) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn get_draw_text_height(&self, params: &DrawTextParams) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |   pub fn resolve_slice_y(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |   pub fn resolve_scroll_box_x(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |   pub(crate) fn resolve_host_y(&self, y_anchor: &str, content_height: u16, offset_y: u16) -> u16 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |   pub const ALIGN_LEFT: &'static str = position::ALIGN_LEFT;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 312 |   pub const ALIGN_CENTER: &'static str = position::ALIGN_CENTER;
[INFO] [stdout] 313 |   pub const ALIGN_RIGHT: &'static str = position::ALIGN_RIGHT;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 314 |   pub const ALIGN_TOP: &'static str = position::ALIGN_TOP;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 315 |   pub const ALIGN_MIDDLE: &'static str = position::ALIGN_MIDDLE;
[INFO] [stdout] 316 |   pub const ALIGN_BOTTOM: &'static str = position::ALIGN_BOTTOM;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_log_entry` is never used
[INFO] [stdout]  --> src/host_engine/services/log/formatter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn format_log_entry(entry: &LogEntry) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/log/service.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LogService {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |   pub fn trace(&mut self, source: LogSource, message: impl Into<String>) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |   pub fn debug(&mut self, source: LogSource, message: impl Into<String>) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |   pub fn entries(&self) -> &VecDeque<LogEntry> {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |   pub fn drain(&mut self) -> Vec<LogEntry> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |   pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |   pub fn set_max_entries(&mut self, max_entries: usize) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn flush_to_console(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn last_file_error(&self) -> Option<&str> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lua` is never used
[INFO] [stdout]   --> src/host_engine/services/lua.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl LuaService {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |   pub fn lua(&self) -> &Lua {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/host_engine/services/network.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl NetworkService {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |   pub fn get(&self, async_runtime: &AsyncRuntime, url: String) -> TaskId {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Running` is never constructed
[INFO] [stdout]  --> src/host_engine/services/overlay.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum OverlaySessionState {
[INFO] [stdout]   |          ------------------- variant in this enum
[INFO] [stdout] 4 |   Inactive,
[INFO] [stdout] 5 |   Running,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `OverlaySessionState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `active_screensaver_uid` are never read
[INFO] [stdout]   --> src/host_engine/services/overlay.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct OverlayService {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 10 |   state: OverlaySessionState,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 11 |   active_screensaver_uid: Option<String>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start`, `stop`, `is_active`, and `update` are never used
[INFO] [stdout]   --> src/host_engine/services/overlay.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl OverlayService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn start(&mut self, package_uid: &str) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn stop(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |   pub fn is_active(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn update(&mut self) {}
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dir_name`, `version_code`, `api_min`, `api_max`, and `runtime` are never read
[INFO] [stdout]   --> src/host_engine/services/package.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct PackageInfo {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 48 |   pub source: PackageSource,
[INFO] [stdout] 49 |   pub dir_name: String,
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub version_code: u32,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 54 |   pub api_min: u32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 55 |   pub api_max: u32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |   pub runtime: PackageRuntime,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PackageInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `package_type` and `path` are never read
[INFO] [stdout]   --> src/host_engine/services/package.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct PackageListEntry {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub package_type: PackageType,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |   pub path: PathBuf,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PackageListEntry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_width` and `min_height` are never read
[INFO] [stdout]    --> src/host_engine/services/package.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct PackageRuntime {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 122 |   pub min_width: u32,
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 123 |   pub min_height: u32,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PackageRuntime` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_fps` and `save` are never read
[INFO] [stdout]    --> src/host_engine/services/package.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct GameConfig {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |   pub target_fps: u32,
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 135 |   pub save: bool,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GameConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll_events` and `total_count` are never used
[INFO] [stdout]    --> src/host_engine/services/package.rs:334:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl PackageService {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub fn poll_events(&mut self, log: &mut LogService) -> Vec<PackageEvent> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |   pub fn total_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_u32` is never used
[INFO] [stdout]   --> src/host_engine/services/random.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RandomService {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn next_u32(&self, pool: &mut RuntimeObjectPool, id: RandomGeneratorId) -> Option<u32> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bold` and `Custom` are never constructed
[INFO] [stdout]   --> src/host_engine/services/render/border.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum BorderStyle {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 57 |   Bold,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   Custom(CustomBorder),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BorderStyle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Slice` is never constructed
[INFO] [stdout]   --> src/host_engine/services/render/service.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum Target {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout]  9 |   Base,
[INFO] [stdout] 10 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Target` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/render/service.rs:25:10
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl RenderService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |   pub fn draw_text(&mut self, canvas: &mut CanvasService, params: &DrawTextParams) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |   pub fn draw_text_on(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |   pub fn draw_filled_rect_on(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   pub fn draw_filled_rect_in_scroll_box(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |   pub(crate) fn draw_top_filled_rect(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |   pub fn draw_border_rect(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |   pub fn draw_border_rect_on(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |   pub fn draw_text_on_surface(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |   pub fn draw_filled_rect_on_surface(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |   pub fn draw_border_rect_on_surface(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `blank_text_cell` is never used
[INFO] [stdout]   --> src/host_engine/services/render_pipeline/frame.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl ComposedFrame {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |   pub fn blank_text_cell() -> CanvasCell {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_active` and `clear_all_and_home` are never used
[INFO] [stdout]    --> src/host_engine/services/terminal.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl TerminalService {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |   pub fn is_active(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub fn clear_all_and_home(&mut self) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/time.rs:25:10
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TimeService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |   pub fn sleep(
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |   pub fn resume(&self, pool: &mut RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |   pub fn is_running(&self, pool: &RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |   pub fn is_paused(&self, pool: &RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |   pub fn is_finished(&self, pool: &RuntimeObjectPool, id: TimerId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |   pub fn delay_timer_remaining(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |   pub fn delay_timer_progress(&self, pool: &RuntimeObjectPool, id: DelayTimerId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |   pub fn repeat_timer_remaining(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |   pub fn repeat_timer_progress(&self, pool: &RuntimeObjectPool, id: RepeatTimerId) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `char_width`, `display_width`, `rich_text_width`, `graphemes`, and `line_display_width` are never used
[INFO] [stdout]   --> src/host_engine/services/unicode/service.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl UnicodeService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 13 |   pub fn char_width(&self, ch: char) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |   pub fn display_width(&self, text: &str) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |   pub fn rich_text_width(&self, rich_text: &RichText) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn graphemes(&self, text: &str) -> Vec<GraphemeInfo> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |   pub fn line_display_width(&self, line: &str) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TextDirection` is never used
[INFO] [stdout]   --> src/host_engine/services/unicode/types.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum TextDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BidiRun` is never constructed
[INFO] [stdout]   --> src/host_engine/services/unicode/types.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct BidiRun {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RuntimeObjectPoolOwner` is never used
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait RuntimeObjectPoolOwner {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bytes32` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/runtime_object/random/mod.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RandomSeed {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 16 |   U64(u64),
[INFO] [stdout] 17 |   Bytes32([u8; 32]),
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RandomSeed` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ScrollBox` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/mod.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) enum UiComponentEvent {
[INFO] [stdout]    |                 ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 53 |   ScrollBox(ScrollBoxEvent),
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiComponentEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hyperlink_id`, `markdown_id`, and `text_input_id` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl UiComponentEvent {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |   pub(crate) fn hyperlink_id(&self) -> Option<HyperlinkId> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub(crate) fn markdown_id(&self) -> Option<MarkdownViewId> {
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |   pub(crate) fn text_input_id(&self) -> Option<interactives::text_input::TextInputId> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_scroll_event` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/mod.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl UiObjectPool {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub(crate) fn push_scroll_event(&mut self, event: ScrollBoxEvent) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/hyperlink/mod.rs:33:10
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl HyperlinkService {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  33 |   pub fn remove(&self, pool: &mut UiObjectPool, id: HyperlinkId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |   pub fn exists(&self, pool: &UiObjectPool, id: HyperlinkId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn link<'a>(&self, pool: &'a UiObjectPool, id: HyperlinkId) -> Option<&'a str> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn text<'a>(&self, pool: &'a UiObjectPool, id: HyperlinkId) -> Option<&'a str> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |   pub fn set_link(&self, pool: &mut UiObjectPool, id: HyperlinkId, link: String) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |   pub fn set_text(&self, pool: &mut UiObjectPool, id: HyperlinkId, text: String) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |   pub(crate) fn render_host(
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `style` and `fg` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/hyperlink/types.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HyperlinkOptions {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn style(mut self, style: TextStyle) -> Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn fg(mut self, color: TextColor) -> Self {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `move_left`, `move_right`, `move_home`, `move_end`, and `grapheme_count` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/text_input/buffer.rs:48:10
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl TextBuffer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn clear(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |   pub fn move_left(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |   pub fn move_right(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |   pub fn move_home(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |   pub fn move_end(&mut self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |   pub fn grapheme_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `render_on`, `cursor`, `selection`, and `clear` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/interactives/text_input/service.rs:52:10
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl TextInputService {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |   pub fn remove(&mut self, pool: &mut UiObjectPool, id: TextInputId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |   pub fn cursor(&self, pool: &UiObjectPool, id: TextInputId) -> Option<usize> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn selection(&self, pool: &UiObjectPool, id: TextInputId) -> Option<Range<usize>> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |   pub fn clear(&self, pool: &mut UiObjectPool, id: TextInputId) -> bool {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Bottom` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/text_input/types.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum VerticalAlign {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |   Center,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 23 |   Bottom,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VerticalAlign` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Underline` and `Line` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/text_input/types.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum TextInputCursorShape {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |   Underline,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 32 |   None,
[INFO] [stdout] 33 |   Line,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInputCursorShape` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Slice` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/interactives/text_input/types.rs:96:3
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(super) enum TextSurface {
[INFO] [stdout]    |                 ----------- variant in this enum
[INFO] [stdout] 95 |   Base,
[INFO] [stdout] 96 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextSurface` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Slice` and `Host` are never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/markdown_view/mod.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum MarkdownTarget {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 22 |   Base,
[INFO] [stdout] 23 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 24 |   ScrollBox(ScrollBoxId),
[INFO] [stdout] 25 |   Host,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarkdownTarget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/markdown_view/mod.rs:98:10
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl MarkdownService {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |   pub fn remove(&self, pool: &mut UiObjectPool, id: MarkdownViewId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |   pub fn exists(&self, pool: &UiObjectPool, id: MarkdownViewId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn markdown<'a>(&self, pool: &'a UiObjectPool, id: MarkdownViewId) -> Option<&'a str> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |   pub fn set_markdown(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |   pub fn set_theme(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn set_code_theme(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |   pub(crate) fn render_host(
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_completed`, `set_preview`, `origin`, and `render_on` are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/progress_bar/mod.rs:56:10
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ProgressBarService {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |   pub fn set_completed(&self, pool: &mut UiObjectPool, id: ProgressBarId, value: f32) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |   pub fn set_preview(&self, pool: &mut UiObjectPool, id: ProgressBarId, value: f32) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |   pub fn origin(&self, pool: &UiObjectPool, id: ProgressBarId) -> Option<ProgressBarFillOrigin> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |   pub fn render_on(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/scroll_box/mod.rs:48:10
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl ScrollBoxService {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |   pub fn remove(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |   pub fn exists(&self, pool: &UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |   pub fn is_visible(&self, pool: &UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |   pub fn set_visible(&self, pool: &mut UiObjectPool, id: ScrollBoxId, visible: bool) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |   pub fn is_opaque(&self, pool: &UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |   pub fn set_opaque(&self, pool: &mut UiObjectPool, id: ScrollBoxId, opaque: bool) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |   pub fn visible_content_width(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |   pub fn visible_content_height(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 490 |   pub fn bring_to_front(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |   pub fn send_to_back(&self, pool: &mut UiObjectPool, id: ScrollBoxId) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_rect` is never used
[INFO] [stdout]    --> src/host_engine/services/widget/ui_object/surfaces/slice/mod.rs:160:10
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl SliceService {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |   pub fn set_rect(&self, pool: &mut UiObjectPool, id: SliceId, rect: SliceRect) -> bool {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Slice` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/mod.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum TableTarget {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 20 |   Base,
[INFO] [stdout] 21 |   Slice(SliceId),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableTarget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_style` and `draw_on` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/mod.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TableService {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn set_style(&self, pool: &mut UiObjectPool, id: TableId, style: TableStyle) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |   pub fn draw_on(
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Right` are never constructed
[INFO] [stdout]  --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TableAlign {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 6 |   Left,
[INFO] [stdout] 7 |   Center,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 8 |   Right,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TableAlign` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Clip` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum TableOverflow {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 13 |   Clip,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableOverflow` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `None` is never constructed
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:20:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum TableBorderMode {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] 20 |   None,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableBorderMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `align` and `min_width` are never used
[INFO] [stdout]   --> src/host_engine/services/widget/ui_object/surfaces/table/types.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl TableColumn {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn align(mut self, align: TableAlign) -> Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn min_width(mut self, min_width: u16) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct HomeUi {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `runtime_objects` and `first_layout` are never read
[INFO] [stdout]   --> src/host_engine/ui/home/about.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct InputDemoUi {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 12 |   objects: UiObjectPool,
[INFO] [stdout] 13 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |   first_layout: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply_layout` is never used
[INFO] [stdout]    --> src/host_engine/ui/home/about.rs:292:10
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl InputDemoUi {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 292 |   pub fn apply_layout(&mut self, _layout: &LayoutService, _scroll_box: &ScrollBoxService) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/game_list.rs:89:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct GameListUi {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 88 |   objects: UiObjectPool,
[INFO] [stdout] 89 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/mod.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SettingsUi {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/language.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LanguageSelectUi {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/mods/mod.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ModsUi {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]    --> src/host_engine/ui/home/settings/mods/game.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct GamePackageUi {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 109 |   objects: UiObjectPool,
[INFO] [stdout] 110 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/mods/screensaver.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ScreensaverPackageUi {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 92 |   objects: UiObjectPool,
[INFO] [stdout] 93 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/security/security_details.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SecurityDetailsUi {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 16 |   objects: UiObjectPool,
[INFO] [stdout] 17 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/security/security_settings.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SecuritySettingsUi {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StorageManagementUi {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management_clear.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct StorageManagementClearUi {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management_export.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct StorageManagementExportUi {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/home/settings/storage_management/storage_management_view.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StorageManagementViewUi {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] 48 |   objects: UiObjectPool,
[INFO] [stdout] 49 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/overlay/clear_warning.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct ClearWarningUi {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 40 |   objects: UiObjectPool,
[INFO] [stdout] 41 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/overlay/safe_mode_warning.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SafeModeWarningUi {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 16 |   objects: UiObjectPool,
[INFO] [stdout] 17 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/overlay/window_size_warning.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WindowSizeWarningUi {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 10 |   objects: UiObjectPool,
[INFO] [stdout] 11 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `runtime_objects` is never read
[INFO] [stdout]   --> src/host_engine/ui/terminal_check.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TerminalCheckUi {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |   runtime_objects: RuntimeObjectPool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.65s
[INFO] running `Command { std: "docker" "inspect" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f", kill_on_drop: false }`
[INFO] [stdout] ba238274b52dd3d8d417c4d1761c957954271dce4a449ddcfa23833bc7f5e74f
